/**
* 
* ====================================================================
*
* @author apov <apov@ymail.com>
*/ 
#pragma once

#include <BaseDefine.h>
#include <vector>

class BoundaryValue{
	struct DefineValue{
		int start;
		int end;
		int value;
	};

	typedef std::vector< DefineValue > Define;

public:
	bool is_exist_boundary( int start, int end );
	void register_value( int start, int end, int value );
	void modify_value( int start, int end, int value );
	int get_value( int value );
	int get_size(){ return define_.size(); }

	BoundaryValue();
	virtual ~BoundaryValue();

protected:

private:
	bool isInclusion( int start, int end, int value );

	Define define_;
};
